AI与智能硬件编程入门课

6-5 光敏电阻调节交通灯亮度

课程简介

本课程将学习如何利用光敏电阻调节智能交通灯的亮度,使交通灯能够根据环境光线自动调整明暗。

视频:光敏电阻调节交通灯亮度演示

目录

  1. 知识点
  2. 学习任务
  3. 搭建
  4. 编程

一、知识点

什么是映射?

映射就是给一个对象(可以是变量、物体等等)起一个唯一的别名。

二、学习任务

综合应用光敏电阻和智能交通灯,使交通灯的亮度随环境光强度变化。

三、搭建

1. 电路图

电路图

图1 电路图

2. 实验材料

arduino主控板模块、电池盒、10kΩ电阻、光敏电阻、交通灯模块、开关、软硬导线

实验材料图

图2 实验材料图

3. 实际搭建图

搭建图

图3 搭建图

四、编程

1. 流程

定义引脚及变量-光敏电阻返回值赋值于变量-变量规定一定范围-变量赋值于LED亮度-三灯全灭绿灯亮-延时-绿灯闪-绿灯灭黄灯亮-延时-黄灯灭红灯亮-延时……(反复)

流程图

图4 流程图

2. IDE编程

程序要点:

  1. Setup(初始化函数)中编写定义引脚模式及序号。
  2. 创建光敏返回值子函数
  3. Loop(主循环函数)中编写:
  4. 映射→绿LED高电平→延时→子函数→绿LED闪烁5次→子函数→绿LED低电平黄LED高电平→延时→子函数→黄LED低电平红LED高电平→延时→子函数→红LED低电平
IDE程序截图

图5 IDE程序截图

3. 米思奇编程

程序要点:

  1. 定义管脚序号及模式
  2. 映射
  3. 子函数→绿LED高电平→延时→子函数→绿LED闪烁5次→子函数→绿LED低电平黄LED高电平→延时→子函数→黄LED低电平红LED高电平→延时→子函数→红LED低电平
米思奇程序截图

图6 米思奇程序截图

五、关键点

  1. 光敏电阻需要配合电阻使用形成分压电路
  2. LED亮度调节使用PWM模拟输出功能
  3. 映射功能可以将光敏电阻的取值范围转换到LED亮度控制范围内
  4. 交通灯的逻辑控制需要按照现实中的顺序:绿灯→绿灯闪烁→黄灯→红灯